/*
头文件必须包含在
#ifndef 名字，这个名字与你的头文件的名字相同，
      用这样来表示，_MYSEQLIST_H,要大写，并且中间用下划线隔开
#endif
里面*/

#ifndef _MYLINKLIST_H

#define datatype int //定义元素的数据类型 
struct node{
    datatype data;//数据域 
    struct node *next;//指针域
};
typedef struct node NODE;

struct linklist{
    NODE *head;//头结点 
    int length;//链表的长度 
}; 
typedef struct linklist LINKLIST;

/*之后下面是函数的声明，具体函数的实现要在mylinklist.c里面来实现*/

LINKLIST *init_linklist();//链表的初始化 ，建立一个空的链表 
int insert_linklist(LINKLIST *L,int i,datatype x);/*在链表中的第i个元素之前插入新的元素x，表长加1，并返回1；不成功返回0*/ 
int delete_linklist(LINKLIST *L,int i);/*删除链表中的第i个元素，表长减1，并返回1；不成功返回0*/ 
int location_linklist(LINKLIST *L,datatype x);/*返回链表中值为x的元素的序号，若无，返回0 */
NODE *get_linklist(LINKLIST *L,int i);/* 返回链表中第i个元素的结点，若i大于表长，输出提示语 */
void print_linklist(LINKLIST *L);//输出链表的元素 


#endif 
